في بعض الأحيان تكون هناك حاجة لتحويل الجدول المتقاطع (المحوري) إلى جدول مسطح. هذا الإجراء يسمى " تقييم البيانات "
لا يحتوي البرنامج LibreOffice Calcc على وظيفة قياسية لتحويل الجداول المحورية إلى " مستوى "، ولكن يمكنك كتابة الإجراء المقابل بنفسك. دعونا نرى كيفية القيام بذلك.
دعونا نلقي نظرة على الصورة أدناه لفهم جوهر المشكلة بشكل أكثر وضوحًا. على اليسار لدينا جدول على شكل مصفوفة (جدول محوري)، وعلى اليمين - جدول عادي ذو أعمدة (جدول مسطح):
عندما تقوم بتوسيع جدول، فإنك تقوم بتفكيك زوج قيمة السمة الذي يمثل تقاطع الأعمدة في جدول المصفوفة وإعادة توجيهها إلى الأعمدة المسطحة في الجدول المسطح:
افتح القائمة Tools - Macros - Edit Macros...، وحدد Module1 وانسخ النص التالي إلى الوحدة:
Sub UnPivotTable
' moonexcel.com.ua
Dim oBook As Object
Dim oActiveSheet As Object
Dim oSelRange As Object
Dim oNewSheet As Object
Dim i As Long
Dim iTopLabelRowCount As Integer
Dim iSideLabelColCount As Integer
oBook = ThisComponent
oActiveSheet = oBook.CurrentController.ActiveSheet
oSelRange = oBook.CurrentSelection
' أضف ورقة جديدة
oBook.Sheets.insertNewByName("UnPivoted Table",0)
oNewSheet = oBook.Sheets(0)
' تحديد حجم الرؤوس
iTopLabelRowCount = InputBox(" كم عدد الخطوط في الرأس العلوي؟ ")
iSideLabelColCount = InputBox(" كم عدد الأعمدة في الرأس الجانبي؟ ")
i = 0
For r = (iTopLabelRowCount + 1) To oSelRange.Rows.Count
For c = (iSideLabelColCount + 1) To oSelRange.Columns.Count
For j = 1 To iSideLabelColCount
oNewSheet.getCellByPosition(j-1, i).Formula = oSelRange.getCellByPosition(j-1, r-1).Formula
Next j
For k = 1 To iTopLabelRowCount
oNewSheet.getCellByPosition(j + k - 2, i).Formula = oSelRange.getCellByPosition(c-1, k-1).Formula
Next k
oNewSheet.getCellByPosition(j + k - 2, i).Formula = oSelRange.getCellByPosition(c-1, r-1).Formula
i = i + 1
Next c
Next r
End Sub
بعد ذلك، أغلق Macro Editor وارجع إلى ورقة العمل الخاصة بك في LibreOffice Calc. حدد الجدول بأكمله بالرؤوس العلوية واليسرى وقم بتشغيل الماكرو الجديد من خلال القائمة Tools - Macros - Run Macro...
سيقوم الماكرو بإدراج ورقة مسماة جديدة في المصنف الخاص بك
يمكنك أيضًا استخدام الأداة المساعدة "الجدول المحوري (Unpivot)" عن طريق تثبيت الامتداد YLC_Utilities.oxt .
بعد ذلك، ستكون هذه الأداة المساعدة متاحة في جميع الملفات التي سيتم فتحها في LibreOffice Calc.